package ar.com.jsejtman.cajugastos2.core.service.data;

/**
 * Interfaz que debe implementar toda solicitud de paginación.
 * 
 * @author Sebastián Matienzo
 */
public interface IPaginationRequest {

	/**
	 * Obtiene el número de página solicitado.
	 * 
	 * @return Número de página solicitado.
	 */
	Integer getRequestedPageNumber();

	/**
	 * Obtiene el tamaño de página solicitado.
	 * 
	 * @return Tamaño de página solicitado.
	 */
	Integer getRequestedPageSize();

	/**
	 * Obtiene el criterio de ordenamiento a usar (si corresponde).
	 * 
	 * @return Criterio de ordenamiento a usar, o NULL si ninguno.
	 */
	SortCriterion getSortCriterion();
}
